package chixing.day16.class23;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

public class InputStreamDemo {
    public static void main(String[] args) {
        //创建字节流读取（抽象父类 InputStream）
        InputStream is = null;
        try {
             is = new FileInputStream("D:\\a\\a.txt");
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    //创建字节流读取
    // -1 表示读取到文件的最后一个字节了
    //2 读数据(按这季节读取，读取的每一个字节放在bytep[]数组)
     byte[] byteArray= null;
        try {
            byteArray = new byte[is.available()];//is,available()表示获得inputStream这个文件读取流大约的字节数
        } catch (IOException e) {
            e.printStackTrace();
        }
        int temp = 0; // 临时接收读取的每一个字节
        int i =0; //byteArray已有的字节数
        try{
        while((temp = is.read()) != -1){ //读取的每一个字节先存放在临时变量中
            byteArray[i++] = (byte) temp;//读取的每一个字节存放在byte数组中
        }
    }catch (IOException e) {
        throw new RuntimeException(e);
    }finally{ //关闭流
            if(is != null){ //判断 防止空指针异常
                try {
                    is.close();
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
        }
        String result = new String(byteArray); //byte数组转换成字符串
        System.out.println(result);
}


}